package org.itboys.core.entity.mysql;

import org.itboys.mysql.entity.BaseMySqlEntity;

import java.util.Date;
import java.util.List;

/**
 * @Author：贾琦磊
 * @Date：2018/8/17
 * @Description：仓库补货单
 */
public class SundayAddProductOrder extends BaseMySqlEntity{
    /**
     * 补货单状态
     */
    public static final Integer ORDER_STATE_SAVE=1;
    public static final Integer ORDER_STATE_THROUGH=2;
    public static final Integer ORDER_STATE_NOT_THROUGH=3;
    public static final Integer ORDER_STATE_RECEIVE=4;

    /**
     * 编号
     */
    private String number;
    /**
     * 状态：已保存--1表单填写完成的初始状态
     * 已审核通过--2
     * 审核未通过--3
     * 已收货--4仓库确认收货
     */
    private Integer state;
    /**
     * 单据保存时间
     */
    private Date saveTime;
    /**
     * 审核时间
     */
    private Date approvalTime;
    /**
     * 收货时间
     */
    private Date receiveTime;

    /**
     * 备注
     */
    private String remark;
    /**
     * 入货仓库（前置仓id）
     */
    private Long  preStoreId;
    /**
     * 前置仓名称，从仓库表获取，不作为存储字段
     */
    private String preStoreName;
    /**
     * 出货仓库（中心仓库）
     */
    private Long  centerStoreId;
    /**
     * 中心仓名称，从仓库表获取，不作为存储字段
     */
    private String centerStoreName;

    private List<SundayAddProductOrderSKU> skus;
    public SundayAddProductOrder() {
    }

    public SundayAddProductOrder(Long id, String remark, Long preStoreId, Long centerStoreId) {
        this.id=id;
        this.remark = remark;
        this.preStoreId = preStoreId;
        this.centerStoreId=centerStoreId;
    }
    public SundayAddProductOrder(Long id, String number, Integer state, String remark, Long preStoreId, Long centerStoreId) {
        this.id=id;
        this.number = number;
        this.state = state;
        this.remark = remark;
        this.preStoreId = preStoreId;
        this.centerStoreId=centerStoreId;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getPreStoreId() {
        return preStoreId;
    }

    public void setPreStoreId(Long preStoreId) {
        this.preStoreId = preStoreId;
    }

    public Long getCenterStoreId() {
        return centerStoreId;
    }

    public void setCenterStoreId(Long centerStoreId) {
        this.centerStoreId = centerStoreId;
    }

    public Date getSaveTime() {
        return saveTime;
    }

    public void setSaveTime(Date saveTime) {
        this.saveTime = saveTime;
    }

    public Date getApprovalTime() {
        return approvalTime;
    }

    public void setApprovalTime(Date approvalTime) {
        this.approvalTime = approvalTime;
    }

    public String getPreStoreName() {
        return preStoreName;
    }

    public void setPreStoreName(String preStoreName) {
        this.preStoreName = preStoreName;
    }

    public String getCenterStoreName() {
        return centerStoreName;
    }

    public void setCenterStoreName(String centerStoreName) {
        this.centerStoreName = centerStoreName;
    }

    public List<SundayAddProductOrderSKU> getSkus() {
        return skus;
    }

    public void setSkus(List<SundayAddProductOrderSKU> skus) {
        this.skus = skus;
    }

    public Date getReceiveTime() {
        return receiveTime;
    }

    public void setReceiveTime(Date receiveTime) {
        this.receiveTime = receiveTime;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("SundayAddProductOrder{");
        sb.append("number='").append(number).append('\'');
        sb.append(", state=").append(state);
        sb.append(", saveTime=").append(saveTime);
        sb.append(", approvalTime=").append(approvalTime);
        sb.append(", receiveTime=").append(receiveTime);
        sb.append(", remark='").append(remark).append('\'');
        sb.append(", preStoreId=").append(preStoreId);
        sb.append(", preStoreName='").append(preStoreName).append('\'');
        sb.append(", centerStoreId=").append(centerStoreId);
        sb.append(", centerStoreName='").append(centerStoreName).append('\'');
        sb.append(", skus=").append(skus);
        sb.append('}');
        return sb.toString();
    }
}
